Android
Android es un sistema operativo basado en Linux hecho para moviles con pantalla tactica, algunas personas al pensar en Android confunden con GNU/Linux pero estos no son lo mismo, en si ambos tienen un nucleo similar, pero la parte de aplicacion es completamente diferente ya que android no usa las herramientas que provee GNU. Android fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005, fue presentado en 2007 junto la fundación del Open Handset Alliance: un consorcio de compañías de hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles. Arquitectura Android La Arquitectura de Android esta organizada en niveles. Logrando asi una abstracción del hardware para los desarrolladores. Esto hace que Android como plataforma se vuelva flexible y no este restringida a un set de dispositivos sino que la plataforma se pueda migrar a un conjunto mucho mas amplio. thumb|400px|Arquitectura del Sistema Nivel del Kernel Es el nivel mas básico del sistema operativo. Android tiene como base la version 2.6 del kernel Linux en el caso de versiones anteriores a la 4.1(jelly bean) que tiene la version de linux 3.0.31 con algunos cambios realizados en su estructura por parte de Google. Es en este nivel en donde se encuentran los drivers que permiten al Sistema Operativo interactuar con los diferentes periféricos con los que podria contar el dispositivo. Este nivel también esta encargado de gestionar diferentes aspectos principales del sistema como ser el manejo de Memoria, Gestionamiento de Procesos, sistema de conexiones, manejo de seguridad y permisos y manejo de recursos (power management). Nivel de Librerias En este nivel, como su nombre lo indica, estan las diferentes librerias propias/nativas del sistema operativo. Es aqui donde se le da la habilidad al dispositivo para poder tener compatibilidad con hardware especifico. : Librerias Nativas *'Surface Manager': Surface Manager, o gestor de pantalla, es utilizado para el desempeño del administrador de vistas gracias al 'Off-screen buffering'. Dicho metodo se utiliza para que todo proceso grafico que tenga q ser dibujado en pantalla no vaya directamente a ella sino que pase por un buffer para ser combinado con otras vistas que esten vigentes o sean concurrentes con el proceso. Este proceso es necesario para poder mostrar y definir 'transparencias' en las vistas del sistema. *'Media Framework:' Este framework de librerias ofrece los diferentes codecs que permiten la grabacion y la reproduccion de diferentes formatos multimedia. *'SQLite': Motor de Base de Datos usado para el guardado de datos. *'WebKit': Motor de Navegador para el renderizado de contenido HTML, CSS y Javascript. *'OpenGL': Libreria de gráficos utilizada para el renderizado de contenido gráfico (2d y 3d) Nivel de Ejecución El nivel de ejecución de Android esta a la misma altura que el nivel de librerias y consiste de la maquina virtual Dalvik como tambien de librerias Java. : Dalvik: Maquina Virtual de codigo Java que es utilizada para correr aplicaciones y ha sido optimizada para la ejecucion en dispositivos de bajo rendimiento y baja memoria. Una diferencia importante entre la JVM utilizada en computadoras de escritorio es que en ves de correr archivos con una extension .class, corre archivos con la extension .dex que son hechos de un archivo .class en tiempo de compilación para proveer mayor eficiencia en ambientes de bajos recursos. Dalvik tambien permite la creacion de multiples instancias de la maquina virtual de manera simultanea, proveyendo asi seguridad, gestion de memoria y soporte para hilos. : Librerias Java: Estas son librerias diferentes a Java SE y Java ME. Aunque ofrece la misma funcionalidad de las librerias Java SE. Nivel Framework de Aplicación El nivel de framework son los bloques o apis con los cuales las aplicaciones interactuan directamente. Estos programas manejan las funciones basicas del telefono como el gestionamiento de recursos, de llamadas, etc. Bloques del Framework *'Administrador de Actividades': Gestiona el ciclo de vida de las aplicaciones *'Proveedor de Contenido': Gestiona los datos compartidos entre aplicaciones. *'Administrador de Llamadas': gestiona las llamadas del dispositivo, si el mismo goza del hardware. *'Administrador de Localización': gestiona la posición fisica del dispositivo, ya sea por GPS, antenas telefónicas, etc. *'Administrador de Recursos': gestiona los diferentes tipos de recurso que una aplicacion pueda utilizar. Nivel de Aplicaciones Este es el nivel mas alto de la arquitectura y es donde, como su nombre lo indica, estan alojadas las aplicaciones. Las aplicaciones en android pueden sustituir a cualquier otra aplicación (aun las aplicaciones propias del sistema). Arquitectura ARM La arquitectura de un procesador es un conjunto de instrucciones que especifica lo que el procesador de una computadora puede entender y ejecutar. ARM es una arquitectura RISK (Reduced Instruction Set Computer=Ordenador con Conjunto de Instrucciones Reducidas) de 32 bits desarrollada por ARM Holdings. La relativa simplicidad de los procesadores ARM los hace ideales para aplicaciones de baja potencia. Como resultado, se han convertido en dominante en el mercado de la electrónica móvil e integrada, encarnados en microprocesadores y microcontroladores pequeños, de bajo consumo y relativamente bajo coste. En 2005, alrededor del 98% de los más de mil millones de teléfonos móviles vendidos cada año utilizan al menos un procesador ARM.3 Desde 2009, los procesadores ARM son aproximadamente el 90% de todos los procesadores RISC de 32 bits integrados y se utilizan ampliamente en la electrónica de consumo, incluyendo PDA, tabletas, Teléfono inteligente, teléfonos móviles, videoconsolas portátiles, calculadoras, reproductores digitales de música y medios (fotos, vídeos, etc.), y periféricos de ordenador como discos duros y routers. La arquitectura ARM es la arquitectura de procesador mas usada para la mayoria de los dispositivos moviles que usan android, pero la arquitectura ARM tambien sirve para otros sistemas operativos Lista de Sistema operativos: 1-Acorn systems *El primer ordenador personal basado en ARM es el Acorn Archimedes que ejecutaba un sistema operativo provisional llamado Arthur, que se convirtió en RISC OS, utilizado en posteriores modelos de Acorn y otros vendedores. 2-Sistemas operativos integrados*La arquitectura ARM está soportada por un gran número de sistemas operativos integrados y de tiempo real, incluyendo Windows CE,Windows 8 RT, .NET Micro Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX y OSE.35 3-UNIX*Los sistemas que acreditan la especificación estándar UNIX y que soportan la arquitectura ARM son: SolarisMac OS X (en proyecto)4-Tipo UNIX *Las variantes de UNIX soportadas son: :: BSD :: Linux :: Plan 9 from Bell Labs :: Apple iOS *'4.1-Linux' :: Las siguientes distribuciones Linux soportan los procesadores ARM: :: APEXAR PDK :: Android :: Arch Linux Arm :: Ångström :: CRUX ARM :: BackTrack :: Chrome OS :: DSlinux :: Debian :: ELinOS :: Fedora :: Gentoo :: GoboLinux :: iPodLinux :: Maemo :: MeeGo :: Mer :: MontaVista :: Slackware :: T2 SDE :: TimeSys :: Ubuntu :: webOS :: Wind River Linux 5-BSD *Los siguientes sistemas BSD soportan los procesadores ARM: :: FreeBSD55 :: NetBSD56 :: OpenBSD57 :: RISC iX (sólo sistemas basados en Acorn ARM2/ARM3) 6-Windows :: Windows 8 RT : Versiones de Android Las versiones de Android reciben el nombre de postres en inglés. En cada versión el postre elegido empieza por una letra distinta siguiendo un orden alfabético: 'Apple Pie (v1.0), Tarta de manzana' : lanzada el 23 de septiembre de 2008. : caracteristicas: ' *Android Market Programa con un mercado para la descarga y actualización de aplicaciones. *Navegador Web para visualizar, páginas webs en full HTML y XHTML – múltiples páginas mostradas como ventanas ("tarjetas"). *Soporte Cámara – sin embargo esta versión carece de la opción de cambiar la resolución de la cámara, balance blancos, calidad, etc. *Carpetas permiten la agrupación de un número de íconos de aplicaciones dentro de un simple carpeta en la pantalla de inicio. *Acceso a servidores de correo electrónico por web, soporte POP3, IMAP4, y SMTP. *sincronización de Gmail con la aplicación de Gmail. *sincronización de Google Contacts aplicación de personas. *sincronización de Google Calendar con la aplicación de calendario *Google Maps con Latitude y Street View para ver mapas e imágenes satelitales, también como para encontrar negocios locales y obtener direcciones de manejo usando GPS. *Google Sync, permite toda la administración en el-aire de Gmail, Personas, y Calendario *Google Search, permite a los usuarios buscar en internet, aplicaciones del teléfono móvil, contactos, calendario, etc. *Mensajería instantánea Google Talk. *Mensajería instantánea, mensajes de texto, y MMS. *Reproductor de medios, habilitada administración, importación, y reproducción de archivos multimedia – sin embargo, esta versión carece de soporte video y estereo por Bluetooth. *Notificaciones aparecen en la barra de estado, con opciones para configurar alertas por ringtone, LED o vibración. *Discador de voz permite hacer discado y llamar sin escribir nombre o número. *Fondo de escritorio permite al usuario configurar una imagen de fondo o una foto detrás de los íconos y widgets de la pantalla de inicio. *Reproductor de video YouTube. *Otras aplicaciones incluyen: Alarma, Calculadora, Discado (teléfono), Pantalla de inicio (launcher), Imágenes (Galería) y ajustes. *Soporte para Wi-Fi y Bluetooth. 'Banana Bread (v1.1), Pan de plátano : lanzada el 9 de febrero de 2009. : caracteristicas: ' *Detalles y reseñas disponibles cuando un usuario busca por negocios en los mapas. *Pantalla en-llamado más larga por defecto cuando están en uso los parlantes del teléfono, además la habilidad de mostrar/esconder el discado. *Posibilidad de guardar los archivos adjuntos en los mensajes. *Añadido soporte para marquesina en diseños de sistemas. 'Cupcake (v1.5), Magdalena glaseada. : lanzada el 30 de abril de 2009. : caracteristicas: ' *Soporte para teclados virtuales de terceros con predicción de texto y diccionario de usuarios para palabras personalizadas. *Soporte para Widgets - vistas de miniaturas de las aplicaciones que pueden ser ensertadas en otras aplicaciones (tal como la pantalla inicio) y recibir actualizaciones pariódicas. *Grabación y reproducción en formatos MPEG-4 y 3GP. *Auto-sincronización y soporte para Bluetooth estéreo añadido (perfiles A2DP y AVRCP) *Características de Copiar y pegar agregadas al navegador web. *Fotos de los usuarios son mostradas para favoritos en los contactos *Estampillas especificas con fecha/hora mostradas para eventos en registro de llamados, y acceso de un toque a la tarjeta de un contacto desde un evento del registro de llamados. *Pantallas de transiciones animadas. *Agregada opción de auto-rotación. *Agregada la animación de booteo por defecto actual. *Habilidad de subir videos a YouTube. *Habilidad de subir fotos a Picasa. 'Donut (v1.6), Rosquilla. : lanzada el 15 de septiembre de 2009. : caracteristicas: ''' *Mejora en la búsqueda por entrada de texto y voz para incluir historial de marcadores, contactos, y la web. *Habilidad de los desarrolladores de incluir su contenido en los resultados de búsqueda. *Motor multi-lenguaje de Síntesis de habla para permitir a cualquier aplicación de Android "hablar" una cadena de texto. *Búsqueda facilitada y habilidad para ver capturas de las aplicaciones en el Android Market(Google Play). *Galería, cámara y filmadora con mejor integración, con rápido acceso a la cámara. *Habilidad para los usuarios de seleccionar múltiples fotos para eliminar. *Actualización soporte a tecnología para CDMA/EVDO, 802.1x, VPNs, y un motor text-to-speech. *Soporte para resoluciones de pantalla WVGA. *Mejoras de velocidad en búsqueda y aplicaciones de cámara. *Marco de gestos ampliado y una nueva herramienta de desarrollo Constructor de gesturas. Éclair (v2.0/v2.1), pastel francés. : lanzada el 26 de octubre de 2009. : 'caracteristicas: ' *Sincronización cuenta expandida, permitiendo a los usuarios agregar múltiples cuentas al dispositivo para sincronización de correo y contactos. *Soporte intercambio de correo, con bandeja combinada para buscar correo desde múltiples cuentas en la página. *Soporte Bluetooth 2.1. *Habilidad para tocar un foto de un contacto y seleccionar llamar, enviar SMS o correo a la persona. *Habilidad para en todos los mensajes SMS y MMS guardados, con eliminacion de mensajes más antiguos en una conversación automáticamente cuando un límite definido se ha alcanzado. *Nuevas características para la cámara, incluyendo soporte de flash, zoom digital, modo escena, balance de blancos, efecto de colores y enfoque macro. *Mejorada velocidad de tipeo en el teclado virtual, con diccionario inteligente que aprende el uso de palabras e incluye nombres de contactos como sugerencias. *Renovada interfaz de usuario del navegador con imágenes en miniatura de marcador, zoom de toque-doble y soporte para HTML5. *Vista agenda del calendario mejorada, que muestra el estado asistiendo a cada invitado, y la capacidad de invitar a nuevos invitados a los eventos. *Optimización en velocidad de hardware y GUI renovada. *Soporte para más tamaños de pantalla y resoluciones, con mejor ratio de contraste. *Mejorado Google Maps 3.1.2. *Clase MotionEvent mejorada para rastrear eventos multi-touch. *Adición de fondos de pantalla animados, permitiendo la animación de imágenes de fondo de la pantalla inicio para mostrar movimiento. '''Froyo (v2.2), (Abreviatura de «frozen yogurt») Yogur helado. : lanzada el 20 de mayo de 2010. : caracteristicas: ' *Optimizaciones en velocidad,memoria y rendimiento *Mejoras adicionales de rendimiento de aplicación, implementadas mediante compilación Just-in-time (JIT) *Integración del motor de JavaScript V8 de Chrome en el navegador. *Soporte para el servicio Android Cloud to Device Messaging (C2DM), habilitando notificaciones push *Soporte para Microsoft Exchange mejorado, incluyendo políticas de seguridad, auto-descubrimiento, consulta a la Global Access List (GAL), sincronización de calendario, y borrado remoto. *Mejoras en la aplicación del lanzador con accesos directos de las aplicaciones teléfono y navegador web *Funcionalidad de anclaje de red por USB y Wi-Fi hotspot *Agregada opción para deshabilitar acceso de datos sobre red móvil *Actualizada la aplicación Market con características de grupo y actualizaciones automáticas *Cambio rápido entre múltiples lenguajes de teclado y diccionario *Discado por voz e intercambio de contactos por Bluetooth *Soporte para docks Bluetooh-habilitado para autos y de escritorio *Soporte para contraseñas numéricas y alfanuméricas *Soporte para subida de archivos en la aplicación del navegador *Soporte para instalación de aplicaciones en la memoría expandible *Soporte para Adobe Flash *Soporte para pantallas de alto número de PPI (320 ppi), como 4" 720p *Galería permite a los usuarios ver pilas de imágenes mediante un gesto de zoom 'Gingerbread (v2.3), Pan de jengibre. : lanzada el 6 de diciembre de 2010. : caracteristicas: ' *Actualizado el diseño de la interfaz de usuario con incrementos en velocidad y simpleza. *Soporte para tamaños y resoluciones de pantalla extra-grandes (WXGA y mayores). *Soporte nativo para SIP y telefonía por internet VoIP. *Entrada de texto del teclado virtual mas rápida e intuitiva, con mejoras en precisión, texto sugerido y entrada por voz. *Mejoras en la funcionalidad de copiar/pegar, permitiendo a los usuarios seleccionar una palabra al presionar-mantener, copiar y pegar. *Soporte para Near Field Communication (NFC),permienteo al usuario leer el la etiqueta NFC incrustada en un poster, sticker o aviso publicitario. *Nuevos efectos de audio tales como reverberación, ecualizar, virtualización de audífonos, y aumento de bajos. *Nuevo Gestor de descargas, dandoles a los usuarios fácil acceso a cualquier archivo descargado del navegador, correo electrónico, u otra aplicación. *Soporte para múltiples cámaras en el dispositivo, incluyendo cámara frontal-facial, si está disponible. *Soporte para reproduccción de video por WebM/VP8, encodeo de audio por AAC. *Mejoras en la administración de la energía, con un mayor rol activo en aplicaciones de administración que se mantienen activas en el dispositivo por mucho tiempo. *Mejorado soporte para el desarrollo de código nativo. *Cambio desde YAFFS a ext4 en dispositivos nuevos. *Mejoras en audio, gráficos, y entrada para desarrolladores de juegos. *recolector basura concurrente para incrementar el rendimiento. *Soporte nativo para más sensores (tales como giroscopio y barómetro). 'Honeycomb (v3.0/v3.1/v3.2), Panal de miel. : lanzada el 22 de febrero de 2011. : caracteristicas: ' *Soporte optimizado para tablets,con una nueva y "virtual" interfaz de usuario holográfica. *Agregada barra de sistema, con características de acceso rápido a notificaciones,estados, y botones de nevagacion suavizados,disponible en la parte inferior de la pantalla *Añadida barra de acción (Action Bar en inglés), entregando acceso a opciones contextuales,navegaciòn,widgets, u otros tipos de contenido en la parte superior de la pantalla. *Multi tarea simplificada – tocando Aplicaciones recientes en la barra del sistema permite a los usuarios ver instantáneas de las tareas en curso y saltar rápidamente de una aplicación a otra *Teclado re diseñado, permitiendo tipeo rápido,eficiente y acertado en pantallas de gran tamaño *Simplificada y más intuitiva interfaz copiar/pegar *Las pestañas múltiples reemplazan las ventanas abiertas en el navegador web, además de la característica de auto completado texto y un nuevo modo de "incógnito" permitiendo la navegación de forma anónima. *Acceso rápido a las características de la cámara como la exposición,foco,flash,zoom,cámara facial-frontal,temporizador u otras. *Habilidad para ver álbumes y otras colecciones de fotos en modo pantalla completa en galería, con un fácil acceso a vistas previas de las fotografías. *Nueva interfaz de contactos de dos paneles y desplazamiento rápido para permitir a los usuarios organizar y reconocer contactos fácilmente. *Nueva interfaz de correo de dos paneles para hacer la visualización y organización de mensajes mas eficiente, permitiendo a los usuarios seleccionar uno o mas mensajes. *Soporte para video chat usando Google Talk *Aceleración de Hardware. *Soporte para microprocesadores multi-núcleo. *Habilidad para encriptar toda la data del usuario. *Mejoras en el uso de HTTPS con Server Name Indication (SNI). *Filesystem in Userspace (FUSE; kernel module). 'Ice Cream Sandwich (v4.0), Sándwich de helado. : lanzada el 19 de octubre del 2011. : caracteristicas: ' *Botones suaves Android 3.x están ahora disponibles para usar en los teléfonos móviles. *Separación de widgets en una nueva pestaña, listados de forma similar a las aplicaciones. *Facilidad para crear carpetas, con estilo de arrastrar y soltar. *Lanzador personalizable. *Buzón de voz mejorado con la opción de acelerar o retrasar los mensajes del buzón de voz. *Funcionalidad de pinch-to-zoom en el calendario. *Captura de pantalla integrada (manteniendo presionado los botones de bloqueo y de bajar volumen). *Corrector ortográfico del teclado mejorado. *Habilidad de acceder a aplicaciones directamente desde la pantalla de bloqueo. *Funcionalidad copiar-pegar mejorada. *Mejor integración de voz y dictado de texto en tiempo real contínuo. *Desbloqueo facial, característica que permite a los usuarios desbloquear los equipos usando software de reconocimiento facial. *Nuevo navegador web con pestañas bajo la marca de Google Chrome, permitiendo hasta 15 pestañas. *Sincronización automática del navegador con los marcadores de Chrome del usuario. *Nueva tipografía para la interfaz de usuario, Roboto *Sección para el uso de datos dentro de la configuración que permite al usuario poner avisos cuando se acerca a cierto límite de uso, y desactivar los datos cuando se ha excedido dicho límite. *Habilidad para cerrar aplicaciones que están usando datos en segundo plano. *Aplicación de la cámara mejorada con cero shutter lag, ajustes para el time lapse, modo panorámico, y la posibilidad de hacer zoom durante la grabación. *Editor de fotos integrado. *Nuevo diseño de la Galería, organizado por persona y localización. *Aplicación "People" actualizada con integración en redes sociales, actualización de estados e imágenes en alta resolución. *Android Beam, una característica de Near field communication que permite el rápido intercambio de corto alcance de enlaces web favoritos de un navegador de Internet, información de contactos, direcciones, videos de YouTube y otros datos *Soporte para el formato de imagen WebP56 *Aceleración por Hardare de la interfaz de usuario *Wi-Fi Direct68 *Grabación de video a 1080p para dispositivos stock de Android *Android VPN Framework (AVF), and TUN (but not TAP) kernel module. Prior to 4.0, VPN software required rooted Android. 'Jelly Bean (v4.1/v4.2), Judía de gominola. : lanzada el 27 de junio de 2012. : 'caracteristicas: ' *otos panorámicas con "Photo Sphere" *teclado con escritura gesticular *Mejoras al Lock screen, incluyendo soporte a widgets y la posibilidad de deslizar con el dedo e ir directamente a la cámara *Controles en las notificaciones ("Quick Settings") *Protectores de pantalla "Daydream",que muestran información cuando el equipo está inactivo o conectado por USB (docked). *Múltiples cuentas de usuario (sólo en tablets) *Soporte para pantallas inalambricas (Miracast) *Mejoras en accesabilidad: triple-tap to magnify the entire screen, pan and zoom with two fingers. Speech output and Gesture Mode navigation for blind users *Nueva aplicación del reloj con función de reloj mundial,cronómetro y temporizador.r *Todos los dispositivos ahora usan el mismo diseño de interfase, previamente adaptado desde los teléfonos en 4.1 para las tablets pequeñas (con botones centrados en la pantalla, la barra de sistema en la parte superior de la pantalla, y una pantalla de inicio con un dock y el menu de aplicaciones centrado), independientemente del tamaño de la pantalla *Incrementado el número de notificaciones extendidas y notificaciones accionables para más aplicaciones, permitiendo responder a ciertas notificaciones con la barra de notificaciones sin lanzar la aplicación directamente *SELinux *Siempre-activa VPN *Confirmación SMS Premium SMS Aplicaciones Las aplicaciones en Android normalmente se desarrollan en java, pero existen diversas herramientas y lenguajes en los cual tambien se puede crear aplicaciones para Android. Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos.